package leetcode; /**
 * description:
 * author:张腾
 * date:2021-07-20
 */

import java.util.Arrays;

/**
 * 一个数对(a,b)的 数对和等于a + b。最大数对和是一个数对数组中最大的数对和。
 *
 * 比方说，如果我们有数对(1,5)，(2,3)和(4,4)，最大数对和为max(1+5, 2+3, 4+4) = max(6, 5, 8) = 8。
 * 给你一个长度为 偶数n的数组nums，请你将 nums中的元素分成 n / 2个数对，使得：
 *
 * nums中每个元素恰好在 一个数对中，且
 * 最大数对和的值 最小。
 * 请你在最优数对划分的方案下，返回最小的 最大数对和。
 */
public class leetcode1877 {
    public int minPairSum(int[] nums) {
        Arrays.sort(nums);
        int max = Integer.MIN_VALUE;
        for (int i = 0; i < nums.length / 2; i++) {
            if (nums[i]+nums[nums.length-1-i]>max)
                max = nums[i]+nums[nums.length-1-i];
        }
        return max;
    }
}
